home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2003 December / The Sunday Times - The Month 2003-12.iso / mac / The Month DEC 03 / engine / modules / preview_widenofade.swf / scripts / frame_1 / DoAction.as
Text File  |  2003-09-05  |  6KB  |  231 lines

  1. function addLink(mc)
  2. {
  3.    Links[mc.link] = mc;
  4. }
  5. function getMCfromLink(Item)
  6. {
  7.    if(Links[Item] == null)
  8.    {
  9.       var arr = [];
  10.       while(Item != sideMenu.ItemHome)
  11.       {
  12.          arr.unshift(Item._name.split("_").pop());
  13.          Item = Item._parent._parent;
  14.       }
  15.       var str = arr.join("/");
  16.       Links[Item] = Links[str];
  17.    }
  18.    return Links[Item];
  19. }
  20. function removeLinkListener()
  21. {
  22.    Tardis.sideMenu.EB.removeListener(this);
  23. }
  24. function init()
  25. {
  26.    var strID = Tardis.ActiveSection.id;
  27.    var Colors = Tardis.Colors;
  28.    strSECTION_COLOR = Colors.getString(strID);
  29.    hxSECTION_COLOR = Colors.getHex(strID);
  30.    strSECTION_COLOR50 = Colors.getString(strID + "50");
  31.    hxSECTION_COLOR50 = Colors.getHex(strID + "50");
  32.    hxDEFAULT_COLOR = Colors.getHex("default");
  33.    strDEFAULT_COLOR50 = Colors.getString("default50");
  34.    ndItems = nodeData.byName("items");
  35.    ndDefault = nodeData.byName("default");
  36.    loadFader();
  37.    _visible = true;
  38.    doOut();
  39. }
  40. function loadFader()
  41. {
  42.    this.createEmptyMovieClip("mc_images",++depth);
  43.    mc_images.onReady = function()
  44.    {
  45.       this.onComplete = function()
  46.       {
  47.          delete this.onComplete;
  48.          this._parent.onComplete();
  49.       };
  50.       this.nodeData = this._parent.ndItems;
  51.       this.strPathPrefix = this._parent.strPathPrefix;
  52.       this.init();
  53.    };
  54.    mc_images.loadMovie(strPathPrefix + Tardis.ASSETS_FOLDER + "modules/preview_nofade/preview_nofade.swf");
  55. }
  56. function clearFader()
  57. {
  58.    removeMovieClip("mc_images");
  59.    loadFader();
  60.    mc_images.clearUp();
  61. }
  62. function exit()
  63. {
  64.    delete ndItems;
  65.    delete ndDefault;
  66.    delete nodeData;
  67. }
  68. function doOver(num)
  69. {
  70.    if(num != 0)
  71.    {
  72.       var node = ndItems.childNodes[num];
  73.       populateRollText(node);
  74.       mc_images.doOver(num);
  75.    }
  76. }
  77. function doOut(num)
  78. {
  79.    populateRollText(ndDefault);
  80.    mc_images.doOut(nodeData.childNodes.length);
  81. }
  82. function doPromoOver()
  83. {
  84.    promoOver(true);
  85. }
  86. function doPromoOut()
  87. {
  88.    promoOut(true);
  89. }
  90. function promoUp()
  91. {
  92.    Tardis.sideMenu.doPromoUp();
  93. }
  94. function promoOver(fromSideMenu)
  95. {
  96.    promoMC.gotoAndStop("on");
  97.    if(fromSideMenu == null)
  98.    {
  99.       Tardis.sideMenu.doPromoOver();
  100.    }
  101. }
  102. function promoOut()
  103. {
  104.    promoMC.gotoAndStop("off");
  105.    if(fromSideMenu == null)
  106.    {
  107.       Tardis.sideMenu.doPromoOut();
  108.    }
  109. }
  110. function txtOver(mc)
  111. {
  112.    Tardis.sideMenu.doOver(mc.link);
  113. }
  114. function txtOut(mc)
  115. {
  116.    Tardis.sideMenu.doOut(mc.link);
  117. }
  118. function txtUp(mc)
  119. {
  120.    if(mc.navLink)
  121.    {
  122.       Tardis.sideMenu.doUp(mc.link);
  123.    }
  124.    else
  125.    {
  126.       Tardis.webPageOpen(mc.link,"_blank");
  127.    }
  128. }
  129. function populateRollText(node)
  130. {
  131.    var promo = false;
  132.    removeMovieClip("promoMC");
  133.    titleFF.htmlText = "";
  134.    title2FF.htmlText = "";
  135.    bodyFF.htmlText = "";
  136.    TEXT_POS = 6;
  137.    var strTitle = node.byName("title").getText();
  138.    var strTitle2 = node.byName("title2").getText();
  139.    var strTitle3 = node.byName("title3").getText();
  140.    if(strTitle != null || strTitle2 != null || strTitle3 != null)
  141.    {
  142.       var strTitleTxt = "<FONT COLOR=\"" + strSECTION_COLOR + "\">" + strTitle + " </FONT>";
  143.       strTitleTxt += "<FONT COLOR=\"" + strSECTION_COLOR50 + "\"> " + strTitle2 + " </FONT>";
  144.       strTitleTxt += "<FONT COLOR=\"" + strDEFAULT_COLOR50 + "\"> " + strTitle3 + " </FONT>";
  145.       titleFF.htmlText = strTitleTxt;
  146.       titleFF._y = TEXT_POS;
  147.       titleFF.resize();
  148.       TEXT_POS += titleFF._height - 3;
  149.    }
  150.    var strByline = node.byName("byline").getText();
  151.    if(strByline != null)
  152.    {
  153.       title2FF.htmlText = strByline;
  154.       title2FF.textColor = hxDEFAULT_COLOR;
  155.       title2FF._y = TEXT_POS;
  156.       title2FF.resize();
  157.       TEXT_POS += title2FF._height - 9;
  158.    }
  159.    var strBody = node.byName("body").getText();
  160.    if(strBody != null)
  161.    {
  162.       bodyFF.htmlText = strBody;
  163.       bodyFF.textColor = hxDEFAULT_COLOR;
  164.       bodyFF._y = TEXT_POS;
  165.    }
  166.    var ndPromo = node.byName("promotion");
  167.    if(ndPromo.byName("byline2").getText() != null)
  168.    {
  169.       attachMovie("promoMC2","promoMC",++depth);
  170.       promoMC._x = 287;
  171.       promoMC._y = 157;
  172.       promo = true;
  173.    }
  174.    else if(ndPromo.byName("title").getText() != null || ndPromo.byName("byline").getText() != null)
  175.    {
  176.       attachMovie("promoMC1","promoMC",++depth);
  177.       promoMC._x = 287;
  178.       promoMC._y = 173;
  179.       promo = true;
  180.    }
  181.    if(promo)
  182.    {
  183.       if(ndPromo.attributes.link != null)
  184.       {
  185.          PromoMC.link = ndPromo.attributes.link;
  186.          PromoMC.navLink = true;
  187.       }
  188.       else
  189.       {
  190.          PromoMC.link = ndPromo.byName("link").getText();
  191.       }
  192.       var fldPTitle = PromoMC.promotitleFF;
  193.       var fldPByLine = PromoMC.promobylineFF;
  194.       var fldPByLine2 = PromoMC.promobyline2FF;
  195.       fldPTitle.htmlText = ndPromo.byName("title").getText();
  196.       fldPTitle.textColor = hxSECTION_COLOR50;
  197.       fldPTitle.autosize = true;
  198.       fldPByLine._x = fldPTitle._x + fldPTitle._width;
  199.       fldPByLine.htmlText = ndPromo.byName("byline").getText();
  200.       fldPByLine.textColor = hxDEFAULT_COLOR;
  201.       fldPByLine.autosize = true;
  202.       var strByLine2 = ndPromo.byName("byline2").getText();
  203.       if(strByLine2 != null)
  204.       {
  205.          fldPByLine2.htmlText = strByLine2;
  206.          fldPByLine2.textColor = hxDEFAULT_COLOR;
  207.       }
  208.       else
  209.       {
  210.          PromoMC.promobyline2FF._height = 0;
  211.       }
  212.       PromoMC.btn._width = fldPByLine._width + fldPTitle._width;
  213.       PromoMC.btn._height = PromoMC._height + fldPByLine2._height;
  214.    }
  215.    else
  216.    {
  217.       PromoMC.btn.enabled = false;
  218.    }
  219. }
  220. Links = {};
  221. Tardis.sideMenu.EB.addListener(this);
  222. _visible = false;
  223. _parent.preview = this;
  224. depth = 0;
  225. this.onUnload = function()
  226. {
  227.    removeLinkListener();
  228.    this.onUnload = null;
  229. };
  230. var nmLastCover = -1;
  231.